#ifndef MAN_H
#define MAN_H

#include "LifeForm.h"

/*! \class Man
 *  \brief Contains attributes of Dig Dug
 *
 *  This class inherits from LifeForm and keeps track of the number of lives
 *  as well as the accumulated score.
 *
 *  \author Jackline Atsango
 *  \author Jean pierre vieira Pereira
 *  \version 3
 *  \date 27 September 2012
 */

class Man: public LifeForm
{
    public:

/*! \fn Man
 *  \brief create an object from Man
 */
        Man();

/*! \fn void initialise
 *  \brief set starting coordinates, speed and ID of the object
 */
        void initialise();

/*! \fn void update
 *  \brief makes use of Lifeform::update function
 *
 *  Ensures that dig dug is bounded within the display boundaries and can not
 *  move past these.
 */
        void update();

/*! \fn void lose_life
 *  \brief decrements the total lives of the object
 *
 *  The object is reset to the original starting position and if there are
 *  no more lives, LifeForm::_alive is false.
 */
        void lose_life();

/*! \fn bool check_collision
 *  \param monster_pos_x x coordinate
 *  \param monster_pos_y y coordinate
 *  \brief checks monster and dig dug occupy the same square
 *
 *  Checks for monsters in all directions
 *  \returns true if collided and false otherwise
 */
        bool check_collision(int monster_pos_x, int monster_pos_y);

/*! \fn int get_lives
 *  \returns integer representing available lives
 */
        int get_lives();

 /*! \fn void score_point
 *  \brief increments the score
 */
        void score_point();

/*! \fn int get_score
 *  \returns integer representing the score
 */
        int get_score();

    private:

        int _lives;
        int _score;
};

#endif // MAN_H
